home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 16
/
AMIGAplus Sonderheft 16 (1998)(ICP)(DE)[!].iso
/
pd
/
anwendungen
/
rtgmaster_dev
/
demos
/
flame
/
flameasm.a
< prev
next >
Wrap
Text File
|
1996-02-11
|
2KB
|
150 lines
SECTION DATA,DATA
XREF _scrn
SECTION CODE,CODE
XDEF _CopyFrame
XDEF _CopyFrame2
XDEF _GenFrame
XDEF _MouseButton
XDEF _DrawMeter
_DrawMeter:
cmp.l #0,d0
bne dm_do
rts
dm_do:
cmp.l #100,d0
blt dm_really
rts
dm_really:
move.l d1,-(sp)
beq dm_end
move.l #200,d1
dm_loop:
move.w d1,(a0)+
dbra d0,dm_loop
dm_end:
move.l (sp)+,d1
rts
_MouseButton:
btst #6,$bfe001 ; Ugly direct hardware hit!!!
beq mb_set
moveq #0,d0
bra mb_exit
mb_set:
moveq #1,d0
mb_exit:
rts
_CopyFrame:
movem.l a0-a5/d2-d4,-(sp)
move.l d0,d3
lea _scrn,a1
move.w #59,d0
moveq #0,d1
moveq #0,d4
cf1:
move.w #79,d1
move.l a0,a2
move.l a2,a3
add.l d3,a3
move.l a3,a4
add.l d3,a4
move.l a4,a5
add.l d3,a5
move.l a5,a0
add.l d3,a0
cf2:
moveq #0,d2
moveq #0,d4
move.b (a1)+,d2
move.b d2,d4
lsl.w #8,d4
or.w d4,d2
move.w d2,(a2)+
move.w d2,(a2)+
move.w d2,(a3)+
move.w d2,(a3)+
move.w d2,(a4)+
move.w d2,(a4)+
move.w d2,(a5)+
move.w d2,(a5)+
dbra d1,cf2
dbra d0,cf1
movem.l (sp)+,a0-a5/d2-d4
rts
_GenFrame:
movem.l a0/a1/d0/d1/d2,-(sp)
lea _scrn,a0
move.l #5119,d0
gf1:
move.l a0,a1
moveq #0,d1
moveq #0,d2
add.l #79,a1
move.b (a1),d2
add.l d2,d1
add.l #2,a1
move.b (a1),d2
add.l d2,d1
add.l #78,a1
move.b (a1),d2
add.l d2,d1
addq #1,a1
move.b (a1),d2
add.l d2,d1
addq #1,a1
move.b (a1),d2
add.l d2,d1
divu #5,d1
cmp.w #3,d1
ble gf2
sub.b #2,d1
gf2:
move.b d1,(a0)+
gfnext:
dbra d0,gf1
gfx:
movem.l (sp)+,a0/a1/d0/d1/d2
rts
_CopyFrame2:
movem.l a0-a5/d2-d4,-(sp)
move.l d0,d3
lea _scrn,a1
move.w #59,d0
moveq #0,d1
moveq #0,d4
cf21:
move.w #79,d1
move.l a0,a2
move.l a2,a3
add.l d3,a3
move.l a3,a0
add.l d3,a0
cf22:
moveq #0,d2
moveq #0,d4
move.b (a1)+,d2
move.b d2,d4
lsl.w #8,d4
or.w d4,d2
move.w d2,(a2)+
move.w d2,(a3)+
dbra d1,cf22
dbra d0,cf21
movem.l (sp)+,a0-a5/d2-d4
rts
END